package com.vates.gestion.servicios.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import com.vates.gestion.dao.BaseDAO;
import com.vates.gestion.entidades.Cliente;
import com.vates.gestion.entidades.Telefono;
import com.vates.gestion.servicios.ClienteService;

@Component(value = "clienteService")
public class ClienteServiceImpl implements ClienteService {

	@Autowired
	BaseDAO<Cliente> clienteDAO;

	@Override
	public void nuevoCliente(String nombre, Long dni) {

		Cliente clienteNuevo = new Cliente();
		clienteNuevo.setNombre(nombre);
		clienteNuevo.setDni(dni);

		clienteDAO.guardar(clienteNuevo);

	}

	@Override
	public void nuevoCliente(String nombre, Long dni, List<Telefono> telefonos) {

		Cliente clienteNuevo = new Cliente();
		clienteNuevo.setNombre(nombre);
		clienteNuevo.setDni(dni);

		for (Telefono telefono : telefonos) {
			telefono.setCliente(clienteNuevo);
			clienteNuevo.getTelefonos().add(telefono);
		}

		clienteDAO.guardar(clienteNuevo);

	}

	@Override
	public List<Cliente> obtenerClientes() {
		return clienteDAO.buscarTodos();
	}

	@Override
	public List<Cliente> buscarPorNombre(String nombre) {
		return clienteDAO.buscarPorNombre(nombre);
	}

}
